Back

3. LANGUAGES


Help Needed

Many of these are just experimental attempts at these languages, produced after a quick reading of the corresponding article on wikipedia.org. They will need work or advice from native speakers to improve them. Please contact me if you want to advise or assist with these or other languages.

The sound of some phonemes may be poorly implemented, particularly [r] since I'm English and therefore unable to make a "proper" [r] sound.

A major factor is the rhythm or cadance. An Italian speaker told me the Italian voice improved from "difficult to understand" to "good" by changing the relative length of stressed syllables. Identifying unstressed function words in the xx_list file is also important to make the speech flow well. See Adding or Improving a Language

Character sets

Languages recognise text either as UTF8 or alternatively in an 8-bit character set which is appropriate for that language. For example, for Polish this is Latin2, for Russian it is KOI8-R. This choice can be overridden by a line in the voices file to specify an ISO 8859 character set, eg. for Russian the line:
     charset 5
will mean that ISO 8859-5 is used as the 8-bit character set rather than KOI8-R.

In the case of a language which uses a non-Latin character set (eg. Greek or Russian) if the text contains a word with Latin characters then that particular word will be pronounced using English pronunciation rules and English phonemes. Speaking entirely English text using a Greek or Russian voice will sound OK, but each word is spoken separately so it won't flow properly.

Sample texts in various languages can be found at http://<language>.wikipedia.org and www.gutenberg.org

3.1 Voice Files

A number of Voice files are provided in the espeak-data/voices directory. You can select one of these with the -v <voice filename> parameter to the speak command, eg:
   espeak -vaf
to speak using the Afrikaans voice.

Language voices generally start with the 2 letter ISO 639-1 code for the language. If the language does not have an ISO 639-1 code, then the 3 letter ISO 639-3 code can be used.

For details of the voice files see Voices.

Default Voice

3.2 English Voices

3.3 Voice Variants

To make alternative voices for a language, you can make additional voice files in espeak-data/voices which contains commands to change various voice and pronunciation attributes. See voices.html.

Alternatively there are some preset voice variants which can be applied to any of the language voices, by appending + and a variant name. Their effects are defined by files in espeak-data/voices/!v.

The variants are +m1 +m2 +m3 +m4 +m5 for male voices, +f1 +f2 +f3 +f4 for female voices, and +croak +wisper for other effects. For example:

   espeak -ven+m3
The available voice variants can be listed with:
   espeak --voices=variant

3.4 Other Languages

The eSpeak speech synthesizer does text to speech for the following additional langauges.

3.5 Provisional Languages

These languages are only initial naive implementations which have had little or no feedback and improvement from native speakers.

3.6 Mbrola Voices

Some additional voices, whose name start with mb- (for example mb-en1) use eSpeak as a front-end to Mbrola diphone voices. eSpeak does the spelling-to-phoneme translation and intonation. See mbrola.html.